/*
 * Copyright (c) 2006-2021, RT-Thread Development Team
 *
 * SPDX-License-Identifier: Apache-2.0
 *
 * Change Logs:
 * Date           Author       Notes
 * 2024-03-08     Hao       the first version
 */
#ifndef SIMPLEFOC_DEFAULT_H_
#define SIMPLEFOC_DEFAULT_H_

// 用户debug接口，根据自己需要修改
// 这里不支持打印小数，需要自己处理，比如：SIMPLE_DEBUG("%f",intnum/100, intnum%100)
#include "rtthread.h"
#define SIMPLE_DEBUG(format, ...)   rt_kprintf(format, ##__VA_ARGS__)

// 默认参数
// 电源电压
#define DEF_POWER_SUPPLY                    12.0f                   // default power supply voltage

// 速度PI控制器参数
#define DEF_PID_VEL_P                       0.05f                    // default PID controller P value
#define DEF_PID_VEL_I                       0.6f                    // default PID controller I value
#define DEF_PID_VEL_D                       0.0001f                    // default PID controller D value
#define DEF_PID_VEL_RAMP                    50.0f                   // default PID controller voltage ramp value
#define DEF_PID_VEL_LIMIT                   (DEF_POWER_SUPPLY)      // default PID controller voltage limit
#define DEF_VEL_FILTER_Tf                   0.01f                   // default velocity filter time constant
// 电流PI控制器参数
#define DEF_PID_CURR_P                      2.0f                    // default PID controller P value
#define DEF_PID_CURR_I                      0                       // default PID controller I value
#define DEF_PID_CURR_D                      0                       // default PID controller D value
#define DEF_PID_CURR_RAMP                   0                       // default PID controller voltage ramp value
#define DEF_PID_CURR_LIMIT                  (DEF_POWER_SUPPLY)      // default PID controller voltage limit
#define DEF_CURR_FILTER_Tf                  0.01f                   // default current filter time constant
// 角度P参数
#define DEF_P_ANGLE_P                       20.0f                   // default P controller P value

// 电流模式下 电压限制
// 电源电压
// 速度模式下 电流限制
#define DEF_CURRENT_LIM                     2.0f                    // 2Amps current limit by default
// 位置模式下 速度限制
#define DEF_VEL_LIM                         20.0f                   // angle velocity limit default

// 对齐传感器使用的电压
#define DEF_VOLTAGE_ENCODER_ALIGN           1.0f                    // default voltage for sensor and motor zero alignemt

#endif /* SIMPLEFOC_DEFAULT_H_ */
